describe('课程管理', () => {
  beforeEach(() => {
    // 模拟登录
    cy.visit('/login')
    cy.get('[data-cy=account-input]').type('testuser')
    cy.get('[data-cy=password-input]').type('testpassword')
    cy.get('[data-cy=login-button]').click()
  })

  it('显示课程选择页面', () => {
    cy.url().should('include', '/mainPage')
    cy.get('.course-list-container').should('be.visible')
    cy.get('.role-nav').should('be.visible')
  })

  it('可以切换角色', () => {
    cy.get('.role-nav .btn').eq(0).should('have.class', 'btn-active')
    cy.get('.role-nav .btn').eq(1).click()
    // 验证角色切换后的状态
  })

  it('教师可以创建课程', () => {
    cy.get('.create-btn').click()
    cy.url().should('include', '/create-course')
  })

  it('学生可以加入课程', () => {
    // 切换到学生角色
    cy.intercept('GET', '/api/courses/users/*/roles/Student/courses', []).as('fetchStudentCourses')
    
    // 点击"我是学生"按钮（第三个按钮）
    cy.get('.role-nav .btn').eq(2).click()
    
    // 等待课程数据加载
    cy.wait('@fetchStudentCourses')
    
    // 现在应该能看到加入课程按钮
    cy.get('.join-btn').should('be.visible')
    cy.get('.join-btn').click()
    cy.url().should('include', '/join-course')
  })
})